查看原文
其他

杨乾:中关村银行在低代码开发中的探索与实践

金融电子化 金融电子化 2022-11-29

文 / 中关村银行金融科技部总经理    杨乾

中关村银行金融科技部    熊振云  姜江  李哲远

数字化转型是当前银行业面临的关键课题,愈演愈烈的同业竞争都客观上要求各行要祭出“技术杀手锏”,来“杀出一条血路”;而银行内部迅速增多的金融场景化需求以及内部管理的数字化需求,使得业务部门与科技部门在交付周期上的矛盾也日渐突出。如何科学地“一快打十慢”,既能实现快速交付,同时也要确保生产系统的安全稳定就变成了当务之急。


在这样的背景之下,低代码开发迅速成为行业的热门技术领域。低代码开发是一种可视化应用开发方法。通过低代码开发,不同经验水平的开发人员能够通过图形用户界面,使用配置方式、拖放式组件或模型驱动逻辑来创建应用,这一过程中所搭建的低代码开发平台减轻了非技术开发人员的压力,免去或大量减少代码编写工作,同时也为专业开发人员提供了支持,帮助他们提取应用开发过程中的繁琐底层架构与基础设施任务。


低代码开发的螺旋演进

低代码开发并不是一个全新的概念,从笔者的经历中,如何降低代码工作量,如何科学的实现快速交付这一话题,在十几年来一直都存在,从直观的感受到理论的提炼,从模糊的想法到具体的方法论和最佳实践,这些年来,可以说IT从业者一直都在不断地经历着、探索着、实践着。


其实,比较早期的可视化编程工具,例如Visual Basic、Delphi、PowerBuilder、CRM的Siebel Tools等等,其中就蕴含了大量的低代码思想、各种可视化编程的尝试、组件工具的集成。很多企业级的应用也是通过这些工具研发的。笔者曾经参与研发过一个大型的呼叫中心系统,当时全部的IVR系统的研发都是基于图形化开发工具实现的,代码量非常少,工程师需要重点考虑的就如何实现业务逻辑和工作流程,在很短的时间里可以完成大量的应用开发。此外,还有一些大公司在早期的实践中尝试使用大规模配置化的思路来实现降低代码工作量,如IBM在其一个著名的开发框架中,引入了大量的配置文件来配置交易逻辑与步骤。但这些早期的低代码尝试,也面临着不少的问题,比如,高度图形化和配置化之后,很多关键底层代码的差错也被掩盖了,无法早期发现。笔者就曾经遇到一个系统级导致宕机的BUG,历经半年也无法查明,最终发现是图形化开发工具的底层通讯模块存在问题。类似这样的情况在早期的配置化,图形化的方式中也屡屡发生。


伴随着发现问题、解决问题,如何更好地实现低代码开发也在不断地自我演化,陆续诞生了层出不从的低代码平台,例如Mendix、OutSystems、ServiceNow等,各大软件企业一直在通过各类方式不断降低代码开发的难度以及编码入门的门槛。这是一个螺旋上升、不断提出、不断改进、不断创新的过程。


同时,面对市场的低代码产品标准不统一,产品质量参差不齐,如何推动统一的低代码标准,更好地促进低代码平台发挥更大作用也成为行业关注的重点。可以观察到,在2021年6月的可信云大会上,中国信通院联合中国通信标准化协会推出了第一份行业级低代码标准。Gartner从2019年起,已连续两年发布《企业级低代码开发平台关键能力报告》,低代码平台行业正在如火如荼地演进前行。


中关村银行在低代码开发中的

探索与初步实践

中关村银行在实际工作中积极探索低代码的使用。考虑到银行系统的复杂性和多样性,短期内无法找到通用的低代码解决方案,中关村银行按应用方向进行试点,选定了风控决策引擎、手机APP和BI平台三个方向,通过原子组件构建低代码功能组件,通过图形化配置组合功能组件并形成业务流程。对原子组件及流程配置设计范围内的功能需求,通过低代码方式建设实施。当业务需求超出原子组件及流程配置设计范围时,则通过低代码+代码的混合方式进行建设实施。


1.风控决策引擎

中关村银行的风控决策引擎系统,主要功能是实现风险自动计算和风险自动审批,支持线下审批风险值计算及线上自动审批两种工作模式。根据其业务特性,中关村银行在指标对象、流程配置两个主功能上进行了低代码的实践。


指标对象的低代码方案设计中,因为海量的数据指标和服务集合在联机应用方面并不适合大量的结构化表设计,所以没有采用低代码平台常用的数据模型设计器来实现,而是改为通过异步存储,利用索引数据库ES读取上的优势支撑海量数据的查询和应用。数据结构优化上,该系统的指标池增加了入参和出参的标准化配置,以树形结构的方式来匹配描述风控模型指标的bom文档,支持风控服务、数据服务、模型服务的入参和出参配置。通过图形化的配置工作,替代了原来的指标开发代码编写工作,节省约10%的代码开发工作量。


完成底层数据的自动映射后,继续推进了工作流的低代码实践。对于业务型软件产品,工作流是支撑业务运作的核心。业务运行的本质,就是一个个工作流的执行。浅层次的工作流,是类似于Workflow这样的审批流,是对单一数据对象的处理;深层次的工作流,需要能够支持多数据实体在流程中的自动化处理。与常见的低代码平台设计方案类似,该系统引入流程引擎用于风控内部服务数据流转。区别于通用方案中流程引擎一般用于流程审批管理,我们将风控服务和模型的业务运行进行组合,实现了模型的分步组合调用和线上部署管理。


以某贷款产品的风控服务调用为例,新产品的配置和调用可通过拖拽的方式实现。


这样,编码工作从简单重复的流程调用实现调整为配置实现,开发人员的主要工作可以更聚焦在单一数据服务和非标准逻辑加工的编码和测试工作上。


2.手机APP

中关村银行只有一个实体网点,业务的开展较强地依赖线上渠道。如何通过低代码或混合低代码的方式建设APP,以支持业务快速多变的需求就变得至关重要。中关村银行所采用的手机APP开发平台基于场景=应用引擎+资源的理念进行构建,提炼了多种应用引擎的核心能力并进行整合,包括WEEX、H5、webview、JSNative、动态布局等技术。为移动开发、测试、运营及运维提供云到端的一站式解决方案,有效降低了技术门槛、提升了开发效率,可赋能开发团队通过混合低代码方式快速搭建高质量的APP应用,赋能业务运营团队通过拖拽方式实现所见即所得的页面布局调整。


在开发方面,平台基于多年的移动开发项目经验,对APP开发做了分层解耦,遵循高内聚低耦合的原则,根据功能或业务职责将APP做模块拆分,每个模块作为一个独立的单元,模块间的依赖则通过导入/导出服务来实现。同时,平台将基础服务提炼为可复用的服务组件,开发时选择需要的服务组件,通过少量代码将这些组件进行组装,以搭积木的方式完成应用构建,提升开发效率。常用的原生服务组件如:社交分享组件、扫一扫组件、LBS(位置服务)组件等。常用的公用UI组件如:轮播、对话框、标签栏(选项菜单)等。


在业务运营方面,为了实现业务对页面布局的快速调整,平台按组件布局的方式构建页面。相应地在前端管控平台上实现页面调整的零代码配置流程,允许业务运营人员通过拖拽式实现页面的随意配置和修改,以及页面布局排版的调整。同时,还能完成动态的发布和更新。整个调整过程均由业务人员操作,无需开发介入,实现了低门槛、零代码的页面调整。


3.BI平台

随着金融企业数字化转型迈向纵深,数字化创新已成为企业生存的关键,提升开发能力则是实现数字化创新的重要前提。中关村银行多年以来一直坚定方向,持续推进“数据应用建设平台化、低代码化”的发展。在“低代码”商业智能报表平台建设过程中,秉持数据易用便捷的开发理念,注重金融行业的安全标准与规范,满足数据全生命周期的管理需求,实现了数据创新与快捷开发的相互结合,有效加快了业务转型创新,持续推进数字化转型。


基于为数据使用者提供灵活高效的数据处理方式的理念,在推进“低代码”商业智能报表平台建设过程中,思路是有效摆脱传统报表建设流程中各个环节后台硬编码方式的痛点,将数据对接、数据加工、数据服务、数据展示等进行全流程“低代码”化处理,简化其中的数据开发流程,能够帮助业务人员进行更快捷高效的数据探索,协助组织内部完成数据的灵活可视化分析,助力企业提升综合数字化运营能力,具体实现流程如图所示。

图  “低代码”商业智能报表平台建设实现流程图


首先,多样化的数据采集与交换能力。提供可视化配置数据交换平台,通过实时/准实时/批量等数据采集方式,对结构化数据、半结构化、非结构化数据进行统一接入,集中存储和规范汇集。


其次,便捷的数据处理流程化编排能力。以数据处理任务模板的方式与系统进行集成,结合灵活的流程化编排能力,生成数据仓库和数据集市中各层级的ETL的脚本,实现对交换平台中存储的各类数据集中加工、统一调用。此外,可结合ETL调度流程相应编排监控任务,及时掌控数据处理全过程的健康情况。


第三,高效的数据服务配置和监控能力。在数据服务模块通过配置化的方式快速生产各类数据服务,面向各业务场景提供结构化配置文件,API调用服务及监控服务,让整体数据消费更加灵活可控。


第四,专业化的报表内容设计和实现能力。业务人员通过简单的拖拽即可实现复杂可视化报表的绘制,能更加生动地展示各类行内业务数据。在业务自助化分析场景中,数据仪表盘设计中有包括图表、图片、参数、过滤等多种控件可供选择,同时每种控件都有丰富的自定义属性,可拖拽字段来配置度量、维度、过滤条件;在样式上,支持设置限制条数、自动刷新、下钻等,最大程度地把仪表盘的设计权交给用户,充分根据用户的喜好及需求,制作个性化的数据分析需求。


第五,可靠的用户权限集中管控能力。在智能报表研发和使用的全过程,结合可视化数据研发平台,基于机构、用户、角色、权限等维度的灵活配置,对表级、字段级数据资源的访问权限集中管控,按照最小授权原则,确保用户只能访问必要的数据信息,提升数据安全的有效管控。


截至目前,中关村银行“低代码”商业智能报表平台已经对接完成超过30个行内重要系统的主要数据,覆盖了全行多业务部门的数据可视化建设需求,应用领域覆盖风险管理、客户营销、业务统计、客户管理等多个数据场景。


围绕如何构建符合自身特色的低代码平台和工作思路,中关村银行进行了一些自己的探索与尝试。但低代码的实现是一个复杂的系统工程,也没有放之四海而皆准的标准答案。适合自己的就是最好的,在低代码的实践过程中,笔者和所在团队的共识是,要积极探索低代码的工作方式,但也要确保生产系统的安全;要持之以恒地树立创新思维,也要注意法律法规和监管要求的落实;“路虽弥,不行不至”,低代码这一方向值得我们行而不辍,未来可期。


(栏目编辑:韩维蜜)




推荐阅读

(点击图片查看精彩内容)


精彩内容回顾

(点击查看精彩内容)


■ 专栏|金融数字化转型实践精选(第一期)

■ 难忘的岁月(第一期)| 科技兴行前奏曲

■ 培训丨“银行业消防安全知识技能培训班”开班了!

■ 榜样 |  头仰星空 筑梦前行——2021年“全国金融五一劳动奖章”获得者郑艳芳

■ 金融数字化转型优秀案例 | 基于区块链和大数据的普惠金融服务——“链捷贷”




新媒体中心:主任 / 邝源  编辑 / 傅甜甜  张珺  邰思琪

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存